
org100h
JRFPRG
JPSOUND
DI
JP7F53H
JPLOADLEVEL
EXDE,HL
ATRC0RST20H
INCHL
DJNZATRC0
EXDE,HL
RET
EXDE,HL
RST20H
INCHL
INCDE
EXDE,HL
RET
JPEXTJ1
JPEXTJ2
JPINTERNAL
JPCHEATLIFE
JPCHEATSLOW
FPRG:LDSP,2000H
DI
LDA,0FEh
OUT(0B1h),A
LDDE,4000h
LDHL,5800h
LDBC,32
EXX
LDDE,7000h
EXX
LDA,193
EXAF,AF'
SPSCR0EXAF,AF'
DECA
JRZ,SPSCR1
EXAF,AF'
LD(ATTR),HL
LD(BITS),DE
EXX
LDHL,LINE
LDBC,0010h
LDIR
EXX
INCD
LDA,D
AND7
JRNZ,SPSCR0
ADDHL,BC
LDA,E
SUB0E0h
LDE,A
JRNC,SPSCR0
LDA,D
SUB8
LDD,A
JRSPSCR0
SPSCR1EXX
LDHL,SYNC
LDBC,SYNCL
LDIR
LDA,0
OUT(82h),A
LDA,0CBH
OUT(83h),A
LDA,0FAH
OUT(0B2H),A
LDA,0FBH
OUT(0B3H),A
LDA,0FDH
OUT(0B1H),A
LDDE,NAM1
LDBC,1B00H
LDHL,4000H
CALLLOAD
LDDE,NAM2
LDBC,400H
LDHL,3C00H
CALLLOAD
LDDE,NAM3
LDBC,9AE8H-5B00H
LDHL,5B00H
CALLLOAD
LDDE,NAM4
LDBC,0F480H-0B000H
LDHL,0B000H
CALLLOAD
LDDE,NAM5
LDBC,1FAH
LDHL,0FC00H
CALLLOAD
LDA,0FEH
OUT(0B3H),A
LDDE,NAM6
LDBC,1167H
LDHL,0C000H
CALLLOAD
LDA,0FBH
OUT(0B3H),A
LDHL,0A280H
LDDE,0FA00H
LDBC,1B1H
LDIR
DI
LDA,0C3H
LDHL,SPKEYB
LD(10H),A
LD(11H),HL
LDHL,INFE
LDDE,14H
LDBC,4
LDIR
LDHL,EXTINT
LD(18h),A
LD(19h),HL
LDHL,ATTRCONV
LD(20H),A
LD(21H),HL
LDHL,IT
LD(28H),A
LD(29H),HL
LDA,0F3H
LD(0),A
LDA,30H
OUT(0B4H),A
LDSP,0A000H
JP6F56H
INFE:INA,(0B6H)
RRA
RET
LOAD:PUSHHL
PUSHBC
LDA,201
EXOS1
POPBC
POPDE
LDA,201
EXOS6
LDA,201
EXOS3
RET
IT:DI
PUSHAF
LDA,30h
OUT(0B4h),a
POPAF
EI
RET
ATTRCONV:PUSHAF
PUSHDE
LDD,A
BIT6,A
JRZ,$+24
AND07h
RRA
JRNC,$+4
SET2,A
LDE,A
LDA,D
AND38h
BIT3,A
JRZ,$+4
XOR48h
ADDA,E
OR88h
JR$+10
AND07h
LDE,A
LDA,D
AND38h
RLCA
ADDA,E
POPDE
LD(HL),A
POPAF
RET
SPKEYB:CP0FFH
JPZ,EXTINT
PUSHHL
PUSHDE
PUSHBC
LDE,A
LDD,1FH
LDHL,$+47
LDB,8
PUSHBC
RRE
JRC,$+27
LDB,5
LDC,0
LDA,(HL)
INCHL
OUT(0B5H),A
INA,(0B5H)
AND(HL)
SCF
JRNZ,$+3
CCF
RLC
INCHL
DJNZ$-14
LDA,C
ANDD
LDD,A
JR$+6
LDBC,10
ADDHL,BC
POPBC
DJNZ$-35
LDA,D
POPBC
POPDE
POPHL
RET
DB0,10H,0,8,0,20H,0,40H,0,80H
DB1,4,1,10H,1,8,1,20H,1,40H
DB2,10H,2,8,2,20H,2,40H,2,2
DB3,10H,3,8,3,20H,3,40H,3,2
DB3,4,3,1,5,1,5,4,5,10H
DB2,4,2,1,9,1,9,4,9,10H
DB1,1,6,1,6,4,6,10H,7,40H
DB0,4,0,1,8,1,8,20H,8,40H
EXTINT:CALLEXTERNAL
PUSHBC
PUSHAF
CALLINTERNAL
LDC,A
POPAF
ORC
POPBC
RET
EXTERNAL:CALLEXTJ1
PUSHBC
LDC,A
CALLEXTJ2
ORC
POPBC
RET
EXTJ1:PUSHBC
LDB,0
CALLEXTC0
LDA,C
POPBC
RET
EXTJ2:PUSHBC
LDB,5
CALLEXTC0
LDA,C
POPBC
RET
EXTC0LDC,8
EXTC1LDA,B
INCB
OUT(181),A
INA,(182)
RRA
CCF
RLC
JRNC,EXTC1
RET
INTERNAL:PUSHBC
LDC,0
LDA,7
OUT(181),A
INA,(181)
CPL
BIT3,A
JRZ,INTT1
SET3,C
INTT1BIT1,A
JRZ,INTT2
SET2,C
INTT2BIT2,A
JRZ,INTT3
SET0,C
INTT3BIT5,A
JRZ,INTT4
SET1,C
INTT4LDA,8
OUT(181),A
INA,(181)
CPL
BIT6,A
JRZ,INTT5
SET4,C
INTT5LDA,C
POPBC
RET
SOUND:PUSHAF
LDA,E
LD(SOUND1+1),A
LDA,D
SOUND1LD(1000H),A
x1118:PUSHHL
PUSHBC
LDHL,100AH
LDA,0Eh
OUT(0BFh),A
LDA,(HL)
LDC,A
ADDA,A
OUT(0AAh),A
ADDA,A
OUT(0AEh),A
DECHL
LDA,(HL)
LDB,A
ADDA,A
OUT(0ADh),A
ADDA,A
OUT(0A9h),A
DECHL
LDA,(HL)
ADDA,A
ADDA,A
OUT(0A8h),A
OUT(0ACh),A
LDA,(HL)
DECHL
BIT3,(HL)
JRZ,x114B
LDA,B
BIT4,(HL)
JRZ,x114B
LDA,C
BIT5,(HL)
JRZ,x114B
XORA
x114B:OUT(0AFh),A
ADDA,A
OUT(0ABh),A
LDA,(HL)
AND07h
OUT(0A7h),A
DECHL
LDA,(HL)
AND1Ch
OUT(0A6h),A
LDBC,06A6h
DECHL
x115F:DECC
OUTD
JRNZ,x115F
POPBC
POPHL
POPAF
RET
x1182LDHL,1000h
LDB,10h
XORA
x1197:LD(HL),A
INCL
DJNZx1197
LDBC,10A0H
x119E:OUT(C),A
INCC
DJNZx119E
RET
LOADLEVEL:LD(STACK+1),SP
LDSP,3000H
EXAF,AF'
PUSHAF
LDA,I
PUSHAF
LDA,3FH
LDI,A
IM1
LDA,30H
OUT(0B4H),A
EXAF,AF'
PUSHIX
LDDE,LEVNAMS
LDLC0ORA
JRZ,LDLT0
PUSHAF
LDA,(DE)
ANDA
ADDA,E
LDE,A
LDA,0
ADCA,D
LDD,A
INCDE
POPAF
DECA
JRLDLC0
LDLT0CALLWRTNAME
LDA,201
EXOS1
PUSHDE
POPIX
LDA,0FFH
OUT(0B2H),A
LDB,(IX+24)
LDC,(IX+23)
LDA,0FAH
OUT(0B2H),A
LDA,201
POPDE
EXOS6
LDA,201
EXOS3
DI
POPAF
LDI,A
IM2
LDA,30H
OUT(0B4H),A
EXAF,AF'
POPAF
EXAF,AF'
STACKLDSP,0
SCF
RET
WRTNAME:PUSHDE
PUSHDE
LDA,0FFH
OUT(0B2H),A
LDHL,SRFSZOV
LDDE,0BEB8H
LDBC,40
LDIR
POPHL
LDC,(HL)
INCHL
LDDE,0BEB8H+15
LDIR
WRTNMC0CALLRDALKEY
JRNZ,WRTNMC0
WRTNMC1CALLRDALKEY
JRZ,WRTNMC1
WRTNMC2CALLRDALKEY
JRNZ,WRTNMC2
LDHL,0BEB8H
LDDE,0BEB9H
LDBC,40
LDIR
LDA,0FAH
OUT(0B2H),A
POPDE
RET
RDALKEYLDB,10
RDALKC0LDA,B
DECA
OUT(0B5H),A
INA,(0B5H)
INCA
RETNZ
DJNZRDALKC0
RET
SRFSZOVDB"Searchingfor--Pressakey"
CHEATLIFE:LDHL,CHEATKOD1
CALLCHTCMP
JPNZ,0E550H
LDA,0FFH
OUT(0B2H),A
LDHL,ARSZOV
LDDE,0BEB8H
LDBC,40
LDIR
CHLKC0LDA,2
OUT(0B5H),A
INA,(0B5H)
AND4
JRZ,CHLYES
SUBA
OUT(0B5H),A
INA,(0B5H)
AND1
JRNZ,CHLKC0
CHLKT0LDHL,0BEB8H
LDDE,0BEB9H
LDBC,40
LDIR
LDA,0FAH
OUT(0B2H),A
JP0E550H
CHLYESSUBA
LDH,A
LDL,A
LD(7254H),A
LD(7255H),HL
LD(72B7H),HL
LD(72B9H),HL
LD(72F2H),A
LDA,2
LD(0FF0DH),A
JRCHLKT0
ARSZOVDB"Eternallife(Y/N)?"

CHEATSLOW:LDHL,CHEATKOD3
CALLCHTCMP
JRNZ,CHEATFAST
PUSHHL
PUSHDE
LDDE,1000H
LDHL,(CHTSFT0+1)
INCHL
PUSHHL
ANDA
SBCHL,DE
POPHL
POPDE
JRZ,CHTSFT1
CHTSFT2LD(CHTSFT0+1),HL
CHTSFT1POPHL
CHTSFT0LDBC,2c6h
RET
CHEATFAST:LDHL,CHEATKOD2
CALLCHTCMP
JRNZ,CHTSFT0
PUSHHL
LDHL,(CHTSFT1)
DECHL
LDA,H
ORL
JRZ,CHTSFT1
JRCHTSFT2
CHTCMP:LDB,(HL)
INCHL
CHEATC0LDA,(HL)
INCHL
OUT(0B5H),A
INA,(0B5H)
AND(HL)
RETNZ
INCHL
DJNZCHEATC0
RET
CHEATKOD1DB5
DB0,8;C
DB1,1;H
DB2,20H;E
DB1,40H;A
DB2,10H;T
;
CHEATKOD2DB4
DB1,10H;F
DB1,40H;A
DB1,20H;S
DB1,2,10H;T
;
CHEATKOD3DB4
DB1,20H;S
DB6,10H;L
DB5,10H;O
DB2,40H;W
SYNCdb0EAH,82h,5,6,0,0,0,0,0,0,0,0,0,0,0,0
db0DAh,2,5,6,0,0,0,0,0,0,0,0,0,0,0,0
db255,0,0,3Fh,0,0,0,0,0,0,0,0,0,0,0,0
db255,0,6,3Fh,0,0,0,0,0,0,0,0,0,0,0,0
db255,0,3Fh,0,0,0,0,0,0,0,0,0,0,0,0,0
db255,52h,6,3Fh,0,0,0,0,0,0,0,0,0,0,0,0
db0E0h,2,5,6,0,0,0,0,0,0,0,0,0,0,0,0
db247,8,0bh,73h,0B8h,254,0E9h,1
db0,36h,0,49h,255,24h,2Dh,36h
db0F2h,3,5,6,0,0,0,0,0,0,0,0,0,0,0,0
SYNCLequ$-sync
;
LINEdb255,14h,15,2Fh
ATTRdw0
BITSdw0
db0,4,1,5,2,6,3,7
NAM1DB8,"UNSQ.SCR"
NAM2DB10,"SP_CHR.ROM"
NAM3DB6,"CODE.1"
NAM4DB6,"CODE.2"
NAM5DB6,"CODE.3"
NAM6DB5,"MUSIC"
LEVNAMSDB6,"CODE.4"
DB10,"MISSION._1"
DB10,"MISSION._2"
DB10,"MISSION._3"
DB10,"MISSION._4"
DB10,"MISSION._5"
DB10,"MISSION._6"
DB10,"MISSION._7"
DB10,"MISSION._8"
DB10,"MISSION._9"
DB10,"MISSION.10"
DB6,"CODE.5"
end



